﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;

namespace ServicioWPF.Clases
{
    class CatAsignaturas
    {
        private int claveEntidad;
        private string nombre;
        private string descripcion;
        private int semestre;

        public int ClaveEntidad
        {
            get 
            {
                return claveEntidad;
            }
            set
            {
                claveEntidad = value;
            }
        }

        public string Nombre
        {
            get
            {
                return nombre;
            }
            set
            {
                nombre = value;
            }
        }

        public string Descripcion
        {
            get
            {
                return descripcion;
            }
            set
            {
                descripcion = value;
            }
        }

        public int Semestre
        {
            get
            {
                return semestre;
            }
            set
            {
                semestre = value;
            }
        }

        public static DataTable buscaTodasAsignaturas()
        {
            MySqlConnection ConexionMySql = new MySqlConnection();
            ConexionMySql.ConnectionString = Constantes.CadenaConexion();
            MySqlDataAdapter daAsignatura = new MySqlDataAdapter("select ClaveEntidad, Nombre, " +
                "Descripcion, Semestre from cat_materias where Estatus=1;", ConexionMySql);
            DataTable dtAsignaturas = new DataTable();
            daAsignatura.Fill(dtAsignaturas);
            return dtAsignaturas;
        }

        public void insertaAsignatura()
        {
            MySqlConnection ConexionMySql = new MySqlConnection();
            ConexionMySql.ConnectionString = Constantes.CadenaConexion();
            string Insert = "insert into cat_materias(Nombre, Descripcion, Semestre, Estatus) " +
                            "values('" + nombre + "', '" + descripcion + "', " +
                            "'" + semestre + "', 1);";
            ConexionMySql.Open();
            try
            {
                MySqlCommand comando = new MySqlCommand(Insert, ConexionMySql);
                comando.ExecuteNonQuery();
            }
            catch
            {
            }
        }

        public void ActualizaAsignatura()
        {
            MySqlConnection ConexionMySql = new MySqlConnection();
            ConexionMySql.ConnectionString = Constantes.CadenaConexion();
            string update = "update cat_materias set Nombre='" + nombre + "', " +
                "Descripcion='" + descripcion + "', Semestre='" + semestre + "' where " +
                "ClaveEntidad=" + claveEntidad + ";";
            ConexionMySql.Open();
            try
            {
                MySqlCommand comando = new MySqlCommand(update, ConexionMySql);
                comando.ExecuteNonQuery();
            }
            catch
            {
            }
        }

        public void EliminaAsignatura()
        {
            MySqlConnection ConexionMySql = new MySqlConnection();
            ConexionMySql.ConnectionString = Constantes.CadenaConexion();
            string elimina = "update cat_materias set Estatus=0 where " +
                "ClaveEntidad=" + claveEntidad + ";";
            ConexionMySql.Open();
            try
            {
                MySqlCommand comando = new MySqlCommand(elimina, ConexionMySql);
                comando.ExecuteNonQuery();
            }
            catch
            {
            }
        }

        public void CargaDatos()
        {
            MySqlConnection ConexionMySql = new MySqlConnection();
            ConexionMySql.ConnectionString = Constantes.CadenaConexion();
            string select = "Select ClaveEntidad, Nombre, Descripcion, Semestre, Estatus from " +
                "Cat_Materias where ClaveEntidad = " + this.claveEntidad +" and Estatus = 1;";
            ConexionMySql.Open();
            try
            {
                MySqlCommand comando = new MySqlCommand(select, ConexionMySql);
                comando.ExecuteNonQuery();
                MySqlDataReader reader = comando.ExecuteReader();
                if (reader.Read())
                {
                    this.nombre = reader.IsDBNull(0) ? "" : reader.GetString("nombre");
                    this.descripcion = reader.IsDBNull(0) ? "" : reader.GetString("Descripcion");
                    this.semestre = reader.GetInt32("Semestre");
                }
            }
            catch
            { 
            }
        }
    }
}
